import { FormInstance, message } from 'antd';
import { testDataSourceConnection } from '@/services/dataSourceService';

/**
 * 测试数据源连接
 * @param form 表单实例
 */
export const handleTestDataSourceConnection = async (form: FormInstance) => {
  try {
    // 获取表单数据
    const values = form.getFieldsValue();
    // 检查必要字段
    if (!values.type || !values.url || !values.username) {
      message.error('请填写完整的数据源信息');
      return;
    }
    const hide = message.loading('正在测试连接');
    try {
      // 调用测试连接接口
      const result = await testDataSourceConnection(values);
      hide();
      if (result) {
        message.success('连接成功');
      } else {
        message.error('连接失败');
      }
    } catch (e: any) {
      hide();
      message.error('连接失败，' + e.message);
    }
  } catch (e: any) {
    message.error('连接失败，' + e.message);
  }
};
